# -*- coding: utf-8 -*-
"""
@Time    : 2024/8/21 14:02 
@Author  : ZhangShenao 
@File    : 2.使用LangChain内置的工具包.py 
@Desc    : 使用LangChain内置的工具包

在LangChain中,工具包Toolkits是一组用于一起执行特定任务的工具集
所有工具包都公开了一个get_tools()方法
该方法返回一个工具列表,这样就无需一个一个加载特定的工具了

由于工具包内包含了多种工具,一般很少单独拆分出来使用
通常用在Agent或者函数调用中,这样无需一次性实例化多个工具
在实际开发中,往往更多的是手动实例化工具进行组装

"""

import os

from langchain_community.agent_toolkits import AzureAiServicesToolkit

# 设置AZURE_AI相关环境变量
os.environ["AZURE_AI_SERVICES_KEY"] = "x"
os.environ["AZURE_AI_SERVICES_ENDPOINT"] = "x"
os.environ["AZURE_AI_SERVICES_REGION"] = "x"

# 创建AzureAiServicesToolkit工具包
toolkit = AzureAiServicesToolkit()

# 打印工具包内包含的所有工具列表:
# azure_ai_services_document_intelligence
# azure_ai_services_image_analysis
# azure_ai_services_speech_to_text
# azure_ai_services_text_to_speech
# azure_ai_services_text_analytics_for_health
print("\n".join([tool.name for tool in toolkit.get_tools()]))
